package com.java.net;




import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

/**
 * 构建一个Browser对象，基于此对象向某些服务器发送请求，
 * 并读取服务端的响应
 */

public class Browser {
    public static void main(String[] args) throws IOException {
        //1.定义要访问的服务地址和端口
        String host="www.baidu.com";
        int port=80;
        //2.创建服务访问对象（java中为socket对象）
        Socket socket=new Socket(host, port);
        //3.创建网络输入和输出流对象
        OutputStream out = socket.getOutputStream();
        InputStream in =socket.getInputStream();
        //4.基于输出流（OutputStream）对象向服务端写数据，表示发送请求。
        out.write("GET /index.html HTTP/1.1\n\r".getBytes());
        out.write("\n\r".getBytes());
        out.flush();

        //5.基于输入流（InputStream）对象读取服务端响应的结果
        byte[] buf=new byte[1024];
        int len=-1;
        while ((len=in.read(buf))!=-1){
            System.out.println(new String(buf,0,len));
        }
        //6.释放资源
        in.close();
        out.close();
    }
}
